return handled;
}
+static void
+cancel_event_sequence_on_hierarchy (GtkWidget *widget,
+ GtkWidget *event_widget,
+ GdkEventSequence *sequence)
+{
+ gboolean cancel = TRUE;
+
+ while (event_widget)
+ {
+ if (event_widget == widget)
+ cancel = FALSE;
+ else if (cancel)
+ _gtk_widget_cancel_sequence (event_widget, sequence);
+ else
+ _gtk_widget_set_sequence_state_internal (event_widget, sequence,
+ GTK_EVENT_SEQUENCE_DENIED,
+ NULL);
+
+ event_widget = _gtk_widget_get_parent (event_widget);
+ }
+}
+
gboolean
_gtk_widget_captured_event (GtkWidget *widget,
GdkEvent *event)
{
gboolean handled = FALSE;
GtkWidget *event_widget;
- gboolean cancel = TRUE;
const GdkEvent *event;
handled = _gtk_widget_set_sequence_state_internal (widget, sequence,
return;
event_widget = gtk_get_event_widget ((GdkEvent *) event);
-
- while (event_widget)
- {
- if (event_widget == widget)
- cancel = FALSE;
- else if (cancel)
- _gtk_widget_cancel_sequence (event_widget, sequence);
- else
- _gtk_widget_set_sequence_state_internal (event_widget, sequence,
- GTK_EVENT_SEQUENCE_DENIED,
- NULL);
-
- event_widget = _gtk_widget_get_parent (event_widget);
- }
+ cancel_event_sequence_on_hierarchy (widget, event_widget, sequence);
}
static EventControllerData *